<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Combres</name>
    </assembly>
    <members>
        <member name="F:Combres.RequestProcessor.Compressors">
            <summary>
            1. According to Steve Souders, browsers supporting gzip also supporting 
            deflate and gzip.
            
            2. http://developer.yahoo.com/performance/rules.html:
                    Gzip is the most popular and effective compression method at this time. 
                    It was developed by the GNU project and standardized by RFC 1952. 
                    The only other compression format you're likely to see is deflate, 
                    but it's less effective and less popular.
            
            Despites #1, for the sake of robustness and the fact that I never took chance to
            verfify what Mr. Sounders says, Combres will support both GZip and Deflate although
            GZip is the default choice if a browser supports both.
            </summary>
        </member>
        <member name="M:Combres.RequestProcessor.GenerateETag(System.Byte[])">
            <summary>
            ETag for a resource set is basically the checksum of its content.
            If the resource set is auto-version, the Hash property is used because
            it's already a strong checksum.  Otherwise, a new checksum is calculated
            out of the resource set's content.
            </summary>
        </member>
        <member name="T:Combres.ResourceType">
            <summary>
            Represents the actual type of the resource.
            </summary>
        </member>
        <member name="F:Combres.ResourceType.JS">
            <summary>
            The resource is a JavaScript resource.
            </summary>
        </member>
        <member name="F:Combres.ResourceType.CSS">
            <summary>
            The resource is a CSS resource.
            </summary>
        </member>
        <member name="T:Combres.Filters.HandleCssVariablesFilter">
            <summary>
            Enables variable support in CSS. 
            Credit to Rory Neopoleon (http://neopoleon.com/home/blogs/neo/archive/2004/03/06/8705.aspx)
            for the original idea/code.
            </summary>
            <example>
            Specifically, this filter allows you to have a CSS file like this:
            <code>
            @define
            {
                boxColor: #345131;
                boxWidth: 150px;
            }
            p
            {
                color: @boxColor;
                width: @boxWidth;
            }
            </code>
            
            The filter will make it becomes the following:
            <code>
            p
            {
                color: #345131;
                width: 150px;
            }
            </code>
            </example>
        </member>
        <member name="T:Combres.ISingleContentFilter">
            <summary>
            Filter to transform the content of a single resource file.
            </summary>
            <seealso cref="T:Combres.DefaultProcessingWorkflow"/>
            <seealso cref="T:Combres.DebugProcessingWorkflow"/>
        </member>
        <member name="T:Combres.IContentFilter">
            <summary>
            Base interface for content filter.
            </summary>
        </member>
        <member name="M:Combres.IContentFilter.CanApplyTo(Combres.ResourceType)">
            <summary>
            Returns true if the filter can be applied to the specified <paramref name="resourceType"/>.
            </summary>
            <param name="resourceType">The resource type.</param>
            <returns>True if the filter can be applied to the specified <paramref name="resourceType"/>.</returns>
        </member>
        <member name="M:Combres.ISingleContentFilter.TransformContent(Combres.ResourceSet,Combres.Resource,System.String)">
            <summary>
            Transforms the content of a single resource file.
            </summary>
            <param name="resourceSet">The resource set being worked on.</param>
            <param name="resource">The resource whose content is being transformed.</param>
            <param name="content">The content of the resource.</param>
            <returns>The transformed content of the resource.</returns>
        </member>
        <member name="M:Combres.Filters.HandleCssVariablesFilter.CanApplyTo(Combres.ResourceType)">
            <inheritdoc cref="M:Combres.IContentFilter.CanApplyTo(Combres.ResourceType)"/>
        </member>
        <member name="M:Combres.Filters.HandleCssVariablesFilter.TransformContent(Combres.ResourceSet,Combres.Resource,System.String)">
            <inheritdoc cref="M:Combres.ISingleContentFilter.TransformContent(Combres.ResourceSet,Combres.Resource,System.String)"/>
        </member>
        <member name="T:Combres.UrlExtensions">
            <summary>
            Utility class providing methods to convert from relative ASP.NET URLs to absolute URLs.
            Refactored from original code at http://www.west-wind.com/Weblog/posts/154812.aspx.
            </summary>
        </member>
        <member name="M:Combres.UrlExtensions.ToAbsoluteUrl(System.String)">
            <summary>
            Returns an absolute URL from a relative server path starting with ~ character.
            If the path is already an absolute path, it is returned to the caller.
            </summary>
        </member>
        <member name="M:Combres.UrlExtensions.ToAbsoluteUrl(System.String,System.Boolean)">
            <summary>
            Returns an absolute URL from a relative server path starting with ~ character.
            If <paramref name="forceHttps"/> is true, return HTTPS URL regardless of the
            HTTPS status of the current web request.
            </summary>
        </member>
        <member name="M:Combres.UrlExtensions.ResolveUrl(System.String)">
            <summary>
            Returns the relative HTTP path from a partial path starting out with a ~ character
            or the original URL if it's an absolute or relative URL that doesn't start with ~.
            </summary>
        </member>
        <member name="M:Combres.UrlExtensions.GetBase(System.Uri)">
            <summary>
            Returns the base URL of the specified <paramref name="uri"/> object.
            </summary>
            <param name="uri">The object whose base URL is to be retrieved.</param>
            <returns>The base URL of the specified <paramref name="uri"/> object.</returns>
        </member>
        <member name="T:Combres.CombresException">
            <summary>
            Represents an error occuring in the Combres runtime.
            </summary>
        </member>
        <member name="T:Combres.ResourceContentReader">
            <summary>
            Class providing methods to read static/dynamic resource contents from cache and/or
            from their original sources.
            </summary>
        </member>
        <member name="M:Combres.ResourceContentReader.ReadFromCache(Combres.Resource,System.Boolean)">
            <summary>
            Loads the content of the resource from the cache.  Otherwise,
            reload the content from its source (e.g. file system or HTTP download)
            and store it in the cache for subsequent accesses.
            </summary>
            <param name="resource">The resource whose cached content is to be retrieved.</param>
            <param name="readNewIfEmptyCache">If true, attempt to read the content from the orginal source (file system or HTTP)
            when the cached content isn't found.  If false, not attempting to do so.</param>
            <returns>The cached content of the resource.  If not found and <paramref name="readNewIfEmptyCache"/> is true, return
            the content from source.  Otherwise, return null.</returns>
        </member>
        <!-- 对于成员“M:Combres.ResourceContentReader.ReadNewContent(Combres.Resource)”忽略有格式错误的 XML 注释 -->
        <member name="M:Combres.ResourceContentReader.RemoveInCache(Combres.Resource)">
            <summary>
            Removes the cached content, if exist.
            </summary>
            <param name="resource">The resource whos content is to be removed from the cache.</param>
        </member>
        <member name="M:Combres.ResourceContentReader.ClearCache">
            <summary>
            Clears the whole cache.
            </summary>
        </member>
        <member name="T:Combres.ICombinedContentFilter">
            <summary>
            Filter to transform the the combined content of either one of the followings.
            In default mode (<see cref="T:Combres.DefaultProcessingWorkflow"/>, all files in a minification group of a particular resource set.
            In debug mode (<see cref="T:Combres.DebugProcessingWorkflow"/>, all files in the resource set.
            </summary>
            <seealso cref="T:Combres.DefaultProcessingWorkflow"/>
            <seealso cref="T:Combres.DebugProcessingWorkflow"/>
        </member>
        <member name="M:Combres.ICombinedContentFilter.TransformContent(Combres.ResourceSet,System.Collections.Generic.IEnumerable{Combres.Resource},System.String)">
            <summary>
            Transforms the combined content.
            </summary>
            <param name="resourceSet">The resource set being worked on.</param>
            <param name="resources">The resources whose combined contents are being transformed.</param>
            <param name="content">The combined content of <paramref name="resources"/>.</param>
            <returns>The transformed combined content</returns>
        </member>
        <member name="T:Combres.DefaultProcessingWorkflow">
            <summary>
            <para>Workflow which is executed if debugging mode is <b>disabled</b>.  The workflow starts by partitioning 
            the resources into various minification groups, each associated with the same minifier.  
            If there's only one minifier configured for all resources, then there's only one 
            minification group.  For each minification group:</para>
            <list type="bullet">
            <item>Read content of every resource in the set, invoking <see cref="T:Combres.ISingleContentFilter"/> for each read.</item>
            <item>Combine the contents of all resources into one, invoking <see cref="T:Combres.ICombinedContentFilter"/>.</item>
            <item>Minify the combined content, invoking <see cref="T:Combres.IMinifiedContentFilter"/>.</item>
            </list> 
            <para>
            Once having the minified contents of all minification groups, the workflow merges them together, compressing 
            the merged content and invoking <see cref="T:Combres.ICompressedContentFilter"/>.
            </para>
            </summary>
        </member>
        <member name="T:Combres.IObjectBinder">
            <summary>
            Represents a binder which can bind values specified in a list of <code>XElement</code> to an object.
            </summary>
        </member>
        <member name="M:Combres.IObjectBinder.Bind``1(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
            <summary>
            Constructs an object of type <typeparamref name="T"/> and bind the values in <paramref name="parameters"/> into that object.
            </summary>
            <typeparam name="T">The target object type to construct and bind values.</typeparam>
            <param name="parameters">The parameter list.</param>
            <returns>A newly constructed object of type <typeparamref name="T"/> with properties specified from <paramref name="parameters"/>.</returns>
        </member>
        <member name="M:Combres.IObjectBinder.Bind(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement},System.Object)">
            <summary>
            Bind the values in <paramref name="parameters"/> into an existing object.
            </summary>
            <param name="instance">The object whose properties are to be set.</param>
            <param name="parameters">The parameter list.</param>
        </member>
        <member name="T:Combres.ResourceSetNotFoundException">
            <summary>
            Represents an error occuring when a resource set is requested while not existing
            in the XML definition file.
            </summary>
        </member>
        <member name="M:Combres.XLinqExtensions.Validate(System.Xml.Linq.XDocument,System.Xml.XmlReader[])">
            <summary>
            Validates <paramref name="xdoc"/> against one or more schemas.
            </summary>
            <param name="xdoc">The XML document to be validated</param>
            <param name="schemaReaders">Readers representing XSD schemas</param>
        </member>
        <member name="M:Combres.XLinqExtensions.Validate(System.Xml.Linq.XDocument,System.String,System.Xml.XmlReader[])">
            <summary>
            Validates <paramref name="xdoc"/> against one or more schemas.
            </summary>
            <param name="xdoc">The XML document to be validated</param>
            <param name="nameSpace">Namespace of the document</param>
            <param name="schemaReaders">Readers representing XSD schemas</param>
        </member>
        <member name="M:Combres.XLinqExtensions.ChildrenOfChild(System.Xml.Linq.XElement,System.String,System.String)">
            <summary>
            Retrieves the list of child elements for a child whose name is <paramref name="name"/>
            of the element <paramref name="xe"/>.
            </summary>
            <param name="xe">The element whose grand-children are to be retrieved</param>
            <param name="name">The name of the child element whose children are to be retrieved</param>
            <param name="nameSpace">The namespace of the XML document</param>
            <returns>The list of child elements for a child whose name is <paramref name="name"/>
            of the element <paramref name="xe"/></returns>
        </member>
        <member name="M:Combres.XLinqExtensions.IsEqualTo(System.Collections.Generic.IList{System.Xml.Linq.XElement},System.Collections.Generic.IList{System.Xml.Linq.XElement})">
            <summary>
            Determines whether to lists of XElement are equal.
            </summary>
        </member>
        <member name="M:Combres.XLinqExtensions.Attr``1(System.Xml.Linq.XElement,System.String)">
            <summary>
            Retrieves the value of the attribute <paramref name="attName"/> of
            <paramref name="xe"/>.
            </summary>
            <typeparam name="T">The data type of this value</typeparam>
            <param name="xe">The element whose attribute value is to be retrieved</param>
            <param name="attName">The name of the attribute to be retrieve</param>
            <returns>The value of <paramref name="attName"/>.  Returns null if
            the attribute doesn't exist or if it contains empty value.</returns>
        </member>
        <member name="M:Combres.XLinqExtensions.Attr``1(System.Xml.Linq.XElement,System.String,``0)">
            <summary>
            Retrieves the value of the attribute <paramref name="attName"/> of
            <paramref name="xe"/>.
            </summary>
            <typeparam name="T">The data type of this value.  
            Support string, enum, nullable and primitive types.</typeparam>
            <param name="xe">The element whose attribute value is to be retrieved</param>
            <param name="attName">The name of the attribute to be retrieve</param>
            <param name="defaultValue">The default value to be used if the attribute
            doesn't exist or if it contains empty value</param>
            <returns>The value of <paramref name="attName"/>.  Returns <paramref name="defaultValue"/> 
            if the attribute doesn't exist or if it contains empty value.</returns>
        </member>
        <member name="M:Combres.TypeExtensions.ConvertToType(System.String,System.Type)">
            <summary>
            Converts <paramref name="value"/> to the corresponding value of 
            type <paramref name="targetType"/>.  <paramref name="targetType"/>
            must be one of the following types: string, value type, and nullable type.
            </summary>
            <param name="value">The string to be converted.</param>
            <param name="targetType">The target type to convert <paramref name="value"/> to.</param>
            <returns>The corresponding value, in <paramref name="targetType"/>, of <paramref name="value"/>.</returns>
            <seealso cref="M:System.Convert.ChangeType(System.Object,System.Type)"/>
        </member>
        <member name="M:Combres.TypeExtensions.ConvertToType(System.String,System.Type,System.Object)">
            <summary>
            Forwards the call to <see cref="M:Combres.TypeExtensions.ConvertToType(System.String,System.Type)"/>.  If there's any exception
            or if <c>null</c> is return, <paramref name="defaultValue"/> is returned by this method instead.
            </summary>
        </member>
        <member name="T:Combres.ILogger">
            <summary>
            Represents a logger.
            </summary>
        </member>
        <member name="T:Combres.CombresHandler">
            <summary>
            Represents the resource combine handler.
            </summary>
        </member>
        <member name="T:Combres.WebExtensions">
            <summary>
            Utility class providing extension methods for ASP.NET and ASP.NET MVC applications to
            work with the library.
            </summary>
        </member>
        <member name="M:Combres.WebExtensions.AddCombresRoute(System.Web.Routing.RouteCollection,System.String)">
            <summary>
            Registers the combiner route to the <paramref name="routes"/> collection.
            This method must be invoked in <c>Application_Start</c> event.
            </summary>
            <param name="routes">The actual argument is typically <see cref="P:System.Web.Routing.RouteTable.Routes"/>.</param>
            <param name="name">The route name.</param>
        </member>
        <member name="M:Combres.WebExtensions.GetCombresUrl(System.Web.Routing.RouteCollection)">
            <summary>
            Retrieves the URL of the Combres engine as registered in XML data file.
            </summary>
            <param name="routes">The actual argument is typically <see cref="P:System.Web.Routing.RouteTable.Routes"/>.</param>
            <returns>The URL of the Combres engine as registered in XML data file.</returns>
        </member>
        <member name="M:Combres.WebExtensions.CombresUrl(System.String)">
            <summary>
            Generates the URL to the resource combiner for the specified <paramref name="setName"/>.
            </summary>
            <example>
            <![CDATA[<script type="text/javascript" src="<%= Html.CombresUrl("siteJsSet") %>"></script>]]>    
            </example>
            <param name="setName">The name of the resource set to be linked to.</param>
            <returns>The URL to the reousrce combiner for the specified <paramref name="setName"/>.</returns>
        </member>
        <member name="M:Combres.WebExtensions.CombresLink(System.String)">
            <summary>
            <para>
            Generates the link to the resource combiner for the specified 
            <paramref name="setName"/>.  If the set is a JavaScript set, 
            <![CDATA[<script type="text/javascript" src=...></script>]]> is returned.  
            If the set is a CSS set, <![CDATA[<link rel="stylesheet" type="text/css" href=... />]]> 
            is returned.
            </para>
            <para>
            If <see cref="P:Combres.ResourceSet.DebugEnabled"/> and <see cref="P:Combres.ResourceSet.IgnorePipelineWhenDebug"/>
            are both <c>true</c>, this method will generate normal links that completely bypass the Combres processing
            pipeline.  In that case, your resources will be served directly by IIS.
            </para>
            </summary>
            <example>
            <![CDATA[<%= Html.CombresLink("bootstrapJs") %>]]>    
            </example>
            <param name="setName">The name of the resource set to be linked to.</param>
            <returns>The link to the resource combiner for the specified <paramref name="setName"/>.</returns>
        </member>
        <member name="M:Combres.WebExtensions.CombresLink(System.String,System.Object)">
            <summary>
            <para>
            Generates the link to the resource combiner for the specified 
            <paramref name="setName"/> with additional <paramref name="htmlAttributes"/>.  
            If the set is a JavaScript set, 
            <![CDATA[<script type="text/javascript" src=... [attributes]></script>]]> is returned.  
            If the set is a CSS set, <![CDATA[<link rel="stylesheet" type="text/css" href=... [attributes]/>]]> 
            is returned.
            </para>
            <para>
            If <see cref="P:Combres.ResourceSet.DebugEnabled"/> and <see cref="P:Combres.ResourceSet.IgnorePipelineWhenDebug"/>
            are both <c>true</c>, this method will generate normal links that completely bypass the Combres processing
            pipeline.  In that case, your resources will be served directly by IIS.
            </para>
            </summary>
            <example>
            <![CDATA[<%= Html.CombresLink("bootstrapJs")%>]]>    
            </example>
            <param name="setName">The name of the resource set to be linked to.</param>
            <param name="htmlAttributes">The HTML attributes to be added within the generated tag.  This can
            either be an object (e.g. anonymous object) or instance of <see cref="T:System.Collections.Generic.IDictionary`2"/> 
            of <see cref="T:System.String"/>, <see cref="T:System.String"/>.</param>
            <returns>The link to the resource combiner for the specified <paramref name="setName"/>.</returns>
        </member>
        <member name="T:Combres.Settings">
            <summary>
            Represents the whole Combres configuration settings.
            </summary>
        </member>
        <member name="P:Combres.Settings.Url">
            <summary>
            Relative URL of the combiner.   
            </summary>
            <example>
            combres.axd
            </example>
        </member>
        <member name="P:Combres.Settings.DefaultDuration">
            <summary>
            Default version which will be used if <see cref="P:Combres.ResourceSet.DurationInDays"/> is 
            not specified.
            </summary>
        </member>
        <member name="P:Combres.Settings.DefaultVersion">
            <summary>
            Default version which will be used if <see cref="P:Combres.ResourceSet.Version"/> is 
            not specified.
            </summary>
        </member>
        <member name="P:Combres.Settings.DefaultVersionGeneratorType">
            <summary>
            Default version generator which will be used if <see cref="P:Combres.ResourceSet.VersionGeneratorType"/> is 
            not specified.
            </summary>
        </member>
        <member name="P:Combres.Settings.DefaultDebugEnabled">
            <summary>
            Default debug enabled setting which will be used if <see cref="P:Combres.ResourceSet.DebugEnabled"/> is 
            not specified.
            </summary>
        </member>
        <member name="P:Combres.Settings.DefaultIgnorePipelineWhenDebug">
            <summary>
            Default setting which will be used if <see cref="P:Combres.ResourceSet.IgnorePipelineWhenDebug"/> is 
            not specified.
            </summary>
        </member>
        <member name="P:Combres.Settings.DefaultCssMinifierRef">
            <summary>
            Default CSS minifier which will be used if a CSS resource set doesn't specify a specific minifier.
            </summary>
        </member>
        <member name="P:Combres.Settings.DefaultJSMinifierRef">
            <summary>
            Default JavaScript minifier which will be used if a JS resource set doesn't specify a specific minifier.
            </summary>
        </member>
        <member name="P:Combres.Settings.DefaultCompressionEnabled">
            <summary>
            Default compression enabling setting which will be used if <see cref="P:Combres.ResourceSet.CompressionEnabled"/> is 
            not specified.
            </summary>
        </member>
        <member name="P:Combres.Settings.LocalChangeMonitorInterval">
            <summary>
            Interval in seconds that the ChangeMonitor will use to monitor changes to
            dynamic resources belonging to the same web application.
            </summary>
        </member>
        <member name="P:Combres.Settings.RemoteChangeMonitorInterval">
            <summary>
            Interval in seconds that the ChangeMonitor will use to monitor changes to
            dynamic resources belonging to another web application or server.
            </summary>
        </member>
        <member name="P:Combres.Settings.CssMinifierMap">
            <summary>
            CSS minifier types.
            </summary>
        </member>
        <member name="P:Combres.Settings.JSMinifierMap">
            <summary>
            JavaScript minifier types.
            </summary>
        </member>
        <member name="P:Combres.Settings.FilterInfoList">
            <summary>
            Lists of filter info.
            </summary>
        </member>
        <member name="P:Combres.Settings.ResourceSets">
            <summary>
            Lists of child resource sets.
            </summary>
        </member>
        <member name="P:Combres.Settings.Item(System.String)">
            <summary>
             Returns the resource set with the specified <paramref name="setName"/>
            </summary>
            <param name="setName">The name of the resource set to be retrieved.</param>
        </member>
        <member name="T:Combres.IVersionGenerator">
            <summary>
            Encapsulates an version generator for <c>ResourceSet</c>s.
            <see cref="T:Combres.ResourceSet"/>
            </summary>
        </member>
        <member name="M:Combres.IVersionGenerator.Generate(Combres.ResourceSet)">
            <summary>
            Generates the version for the the specified <paramref name="resourceSet"/>.
            </summary>
            <param name="resourceSet">The resource set whose version is to be generated.</param>
            <returns>The version of the specified <paramref name="resourceSet"/>.</returns>
            <remarks>The algorithm guarantees to return the same version string 
            for any two identical <c>ResourceSet</c> across multiple CLR runs.</remarks>
        </member>
        <member name="T:Combres.Minifiers.NullMinifier">
            <summary>
            A minifier which is invoked whenever minifier is turn off.
            </summary>
        </member>
        <member name="T:Combres.IResourceMinifier">
            <summary>
            Represents a minifier which can minify combined content of a specific resource set.
            </summary>
        </member>
        <member name="M:Combres.IResourceMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)">
            <summary>
            Minifies <paramref name="combinedContent"/> of a specific resource set.
            </summary>
            <param name="settings">The application setting object.</param>
            <param name="resourceSet">The resource set whose minified combined content is being transformed.</param>
            <param name="combinedContent">The combined content of all files in the resource set.</param>
            <returns>The minified combined content of the specified <paramref name="resourceSet"/>.</returns>
        </member>
        <member name="M:Combres.Minifiers.NullMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)">
            <inheritdoc cref="M:Combres.IResourceMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)"/>
        </member>
        <member name="T:Combres.Binders.SimpleObjectBinder">
            <summary>
            This binder supports setting values to properties of an object.
            Only properties are supported, fields are *not* supported.
            
            Nested properties are supposed although complex types need to 
            have no-argumemt constructor.
            
            See code of <see cref="T:Combres.Minifiers.MSAjaxJSMinifier"/>, <see cref="T:Combres.Minifiers.YuiCssMinifier"/>, 
            and <see cref="T:Combres.Minifiers.YuiJSMinifier"/> for example usages of this binder.
            </summary>
        </member>
        <member name="M:Combres.Binders.SimpleObjectBinder.Bind``1(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
            <inheritdoc cref="M:Combres.IObjectBinder.Bind``1(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})"/>
        </member>
        <member name="M:Combres.Binders.SimpleObjectBinder.Bind(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement},System.Object)">
            <inheritdoc cref="M:Combres.IObjectBinder.Bind(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement},System.Object)"/>
        </member>
        <member name="T:Combres.Binders.ConvertToMapBinder">
            <summary>
            A binder which converts <see cref="T:System.Collections.Generic.IEnumerable`1"/> to a <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            Does not support nested parameters.
            </summary>
            <example>
            <code>
            var map = binder.Bind[IDictionary[string, string]](parameters);
            string value1 = map["key1"];
            string value2 = map["key2"];
            </code>
            </example>
        </member>
        <member name="M:Combres.Binders.ConvertToMapBinder.Bind``1(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
            <inheritdoc cref="M:Combres.IObjectBinder.Bind``1(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})"/>
        </member>
        <member name="M:Combres.Binders.ConvertToMapBinder.Bind(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement},System.Object)">
            <inheritdoc cref="M:Combres.IObjectBinder.Bind(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement},System.Object)"/>
        </member>
        <member name="T:Combres.Filters.DotLessCssFilter">
            <summary>
            Filter which applies .less CSS rules (see http://www.dotlesscss.com/).
            </summary>
        </member>
        <member name="M:Combres.Filters.DotLessCssFilter.CanApplyTo(Combres.ResourceType)">
            <inheritdoc cref="M:Combres.IContentFilter.CanApplyTo(Combres.ResourceType)"/>
        </member>
        <member name="M:Combres.Filters.DotLessCssFilter.TransformContent(Combres.ResourceSet,Combres.Resource,System.String)">
            <inheritdoc cref="M:Combres.ISingleContentFilter.TransformContent(Combres.ResourceSet,Combres.Resource,System.String)"/>
        </member>
        <member name="T:Combres.Minifiers.MSAjaxJSMinifier">
            <summary>
            <p>JavaScript minifier which delegates the minification process to the MS Ajax Minifier library (http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34488).
            Configuration settings are internally bound to <c>Microsoft.Ajax.Utilities.CodeSettings</c>.
            Check out MS Ajax Minifier documentation for details about these configuration settings.</p>
            <see cref="T:Microsoft.Ajax.Utilities.CodeSettings"/>
            </summary>
        </member>
        <member name="T:Combres.IParametersReceiver">
            <summary>
            Represents a type which is to receive parameters from XML file.
            </summary>
        </member>
        <member name="P:Combres.IParametersReceiver.Binder">
            <summary>
            A binder used to convert XML parameters into a meaningful object.
            </summary>
        </member>
        <member name="P:Combres.IParametersReceiver.Parameters">
            <summary>
            The parameters specified in the XML data file.
            </summary>
        </member>
        <member name="M:Combres.Minifiers.MSAjaxJSMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)">
            <inheritdoc cref="M:Combres.IResourceMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)"/>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.Binder">
            <inheritdoc cref="P:Combres.IParametersReceiver.Binder"/>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.Parameters">
            <inheritdoc cref="P:Combres.IParametersReceiver.Parameters"/>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.CollapseToLiteral">
            <summary>
            Convert <c>new Object()</c> to <c>{}</c>, <c>new Array()</c> to <c>[]</c>, 
            <c>new Array(1,2,3,4,5)</c> to <c>[1,2,3,4,5]</c>, and <c>new Array("foo")</c> becomes <c>["foo"]</c>. 
            
            Default is <c>true</c>.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.EvalsAreSafe">
            <summary>
            Normally an eval statement can contain anything, including references to local variables and functions. 
            Because of that, if we encounter an eval statement, that scope and all parent scopes cannot take advantage 
            of local variable and function renaming because things could break when the eval is evaluated and 
            the references are looked up. However, sometimes the developer knows that he抯 not referencing local 
            variables in his eval (like when only evaluating JSON objects), and this switch can be set to true to make 
            sure you get the maximum crunching. Very dangerous setting; should only be used when you are certain 
            that the eval won抰 be referencing local variables or functions. 
            </summary>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.MacSafariQuirks">
            <summary>
            There was one quirk that Safari on the Mac (not the PC) needed that we were crunching out: 
            throw statements always seem to require a terminating semicolon. 
            Another Safari-specific quirk is that an if-statement only contains a function declaration, 
            Safari will throw a syntax error if the declaration isn抰 surrounded with curly-braces. 
            Basically, if you want your code to always work in Safari, set this to true. 
            If you don抰 care about Safari, it might save a few bytes. 
            
            Default is <c>true</c>.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.CatchAsLocal">
            <summary>
            Treat the catch variable as if it抯 local to the function scope.  
            
            Default is <c>true</c>.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.LocalRenaming">
            <summary>
            Renaming of locals. There are a couple settings: 
            - KeepAll is the default and doesn抰 rename variables or functions at all. 
            - CrunchAll renames everything it can. 
            - KeepLocalizationVars renames everything it can except for variables starting with L_. 
              Those are left as-is so localization efforts can continue on the crunched code. 
            </summary>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.OutputMode">
            <summary>
            <c>SingleLine</c> crunches everything to a single line. 
            <c>MultipleLines</c> breaks the crunched code into multiple lines for easier reading.
            
            Default is <c>SingleLine</c>.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.RemoveUnneededCode">
            <summary>
            Removes unreferenced local functions (not global functions, though), 
            unreferenced function parameters, quotes around object literal field names 
            that won抰 be confused with reserved words, and it does some interesting things 
            with switch statements.
            
            Default is <c>true</c>.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.MSAjaxJSMinifier.StripDebugStatements">
            <summary>
            Removes "debugger" statements, any calls into certain namespaces like 
            $Debug, Debug, Web.Debug or Msn.Debug. also strips calls to the WAssert function.
            
            Default is <c>true</c>.
            </summary>
        </member>
        <member name="T:Combres.Filters.FixUrlsInCssFilter">
            <summary>
            Filter which modifies relative urls to absolute urls (works for both virtual directory 
            as well as website).
            
            Assume the path of the CSS file is ~/content/site.css, then the following transformations
            are done to each url reference in the CSS file:
            <list type="table">
            <listheader>
                <term>Source</term>
                <description>Effect</description>
            </listheader>
            <item>
                <term>Absolute path (e.g. /path/to/image.gif)</term>
                <description>Keep as-is (e.g. /path/to/image.gif)</description>
            </item>
            <item>
                <term>Relative from CSS location (e.g. path/to/image.gif, ../path/to/style1.css)</term>
                <description>Make relative to application root (e.g. /content/path/to/imag2.gif, /path/to/style1.css)</description>
            </item>
            <item>
                <term>Starting from application root (e.g. ~/path/to/style2.css)</term>
                <description>Replace ~ with application root (e.g. /content/path/to/style2.css)</description>
            </item>
            </list>
            </summary>
            <remarks>
            See http://combres.codeplex.com/Thread/View.aspx?ThreadId=64366 for error description that leads
            to the implementation of this filter.
            </remarks>
        </member>
        <member name="M:Combres.Filters.FixUrlsInCssFilter.CanApplyTo(Combres.ResourceType)">
            <inheritdoc cref="M:Combres.IContentFilter.CanApplyTo(Combres.ResourceType)"/>
        </member>
        <member name="M:Combres.Filters.FixUrlsInCssFilter.TransformContent(Combres.ResourceSet,Combres.Resource,System.String)">
            <inheritdoc cref="M:Combres.ISingleContentFilter.TransformContent(Combres.ResourceSet,Combres.Resource,System.String)"/>
        </member>
        <member name="T:Combres.LoggerFactory">
            <summary>
            Represents a factory to create instances of a specific logger type implementing <see cref="T:Combres.ILogger"/>.
            Each call to <see cref="M:Combres.LoggerFactory.CreateLogger(System.Type)"/> or <see cref="M:Combres.LoggerFactory.CreateLogger(System.String)"/> will invoke 
            a specific constructor or static factory method implemented by the corresponding implementation;
            see <see cref="M:Combres.LoggerFactory.DetermineLoggerCreator"/> for more details on the selection of creation mechanism.  
            It's up to the specific implementation of <see cref="T:Combres.ILogger"/> to properly optimize resource consumption
            and ensure thread-safety.
            </summary>
        </member>
        <member name="M:Combres.LoggerFactory.DetermineLoggerCreator">
            <summary>
            <para>Priority from top to bottom.</para>
            <list type="bullet">
                <listheader>
                    <term>Method/Constructor</term>
                    <description>Description</description>
                </listheader>
                <item>
                    <term><c>static Create(string name)</c></term>
                    <description>Factory method accepting string argument</description>
                </item>
                <item>
                    <term><c>static Create()</c></term>
                    <description>No-argument factory method</description>
                </item>
                <item>
                    <term><c>ctor(string name)</c></term>
                    <description>Constructor accepting string argument</description>
                </item>
                <item>
                    <term><c>ctor()</c></term>
                    <description>No-argument constructor</description>
                </item>
            </list>
            </summary>
            <returns></returns>
        </member>
        <member name="M:Combres.LoggerFactory.CreateLogger(System.Type)">
            <summary>
            Creates a logger based on the name of the specified <paramref name="type"/>.
            </summary>
        </member>
        <member name="M:Combres.LoggerFactory.CreateLogger(System.String)">
            <summary>
            Creates a logger based on the the specified <paramref name="name"/>.
            </summary>
        </member>
        <member name="T:Combres.FilterInfo">
            <summary>
            Contains the metadata for a filter.
            </summary>
        </member>
        <member name="M:Combres.FilterInfo.Equals(System.Object)">
            <summary>
            Returns true if both filters share the same <see cref="P:Combres.FilterInfo.Type"/>, <see cref="P:Combres.FilterInfo.BinderType"/>, and
            <see cref="P:Combres.FilterInfo.Parameters"/>.
            </summary>
            <param name="obj">The filter to be compared.</param>
            <returns>True if both filters share the same <see cref="P:Combres.FilterInfo.Type"/>, <see cref="P:Combres.FilterInfo.BinderType"/>, and
            <see cref="P:Combres.FilterInfo.Parameters"/>.</returns>
        </member>
        <member name="M:Combres.FilterInfo.GetHashCode">
            <remark>
            Guarantee to return same hashcode for identical filter across multiple runs.
            </remark>
        </member>
        <member name="P:Combres.FilterInfo.Type">
            <summary>
            The full-qualified type name of the filter.
            </summary>
        </member>
        <member name="P:Combres.FilterInfo.ResourceSetNames">
            <summary>
            The list of resource set names that this filter applies to.
            </summary>
        </member>
        <member name="P:Combres.FilterInfo.BinderType">
            <summary>
            The full-qualified type name of the binder used for the minifier.
            </summary>
        </member>
        <member name="P:Combres.FilterInfo.Parameters">
            <summary>
            Configuration parameters to initialize the minifier.
            </summary>
        </member>
        <member name="T:Combres.Minifiers.YuiJSMinifier">
            <summary>
            JavaScript minifier which delegates the minification process to the YUI Combression library (http://yuicompressor.codeplex.com/).
            </summary>
        </member>
        <member name="M:Combres.Minifiers.YuiJSMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)">
            <inheritdoc cref="M:Combres.IResourceMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)"/>
        </member>
        <member name="P:Combres.Minifiers.YuiJSMinifier.Binder">
            <inheritdoc cref="P:Combres.IParametersReceiver.Binder"/>
        </member>
        <member name="P:Combres.Minifiers.YuiJSMinifier.Parameters">
            <inheritdoc cref="P:Combres.IParametersReceiver.Parameters"/>
        </member>
        <member name="P:Combres.Minifiers.YuiJSMinifier.IsVerboseLogging">
            <summary>
            Log informational messages and warnings.
            Default is false.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.YuiJSMinifier.IsObfuscateJavascript">
            <summary>
            If true, obfuscate JavaScript in addition to minification.  No obfuscation if false.
            Default is true.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.YuiJSMinifier.PreserveAllSemicolons">
            <summary>
            Preserve unnecessary semicolons (such as right before a '}').  
            Default is false.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.YuiJSMinifier.DisableOptimizations">
            <summary>
            Disable all the built-in micro optimizations.
            Default is false.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.YuiJSMinifier.LineBreakPosition">
            <summary>
            <p>Some source control tools don't like files containing lines longer than,
            say 8000 characters. The linebreak option is used in that case to split
            long lines after a specific column. It can also be used to make the code
            more readable, easier to debug.  Specify 0 to get a line break after 
            each semi-colon in JavaScript.</p>
            
            <p>Default is no line break.</p>
            </summary>
        </member>
        <member name="T:Combres.Minifiers.YuiCssMinifier">
            <summary>
            CSS minifier which delegates the minification process to the YUI Compressor library (http://yuicompressor.codeplex.com/).
            </summary>
        </member>
        <member name="M:Combres.Minifiers.YuiCssMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)">
            <inheritdoc cref="M:Combres.IResourceMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)"/>
        </member>
        <member name="P:Combres.Minifiers.YuiCssMinifier.Binder">
            <inheritdoc cref="P:Combres.IParametersReceiver.Binder"/>
        </member>
        <member name="P:Combres.Minifiers.YuiCssMinifier.Parameters">
            <inheritdoc cref="P:Combres.IParametersReceiver.Parameters"/>
        </member>
        <member name="P:Combres.Minifiers.YuiCssMinifier.CssCompressionType">
            <summary>
            Either StockYuiCompressor, MichaelAshRegexEnhancements, or Hybrid.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.YuiCssMinifier.ColumnWidth">
            <summary>
            <p>Some source control tools don't like files containing lines longer than,
            say 8000 characters. The linebreak option is used in that case to split
            long lines after a specific column. It can also be used to make the code
            more readable, easier to debug.  Specify 0 to get a line break after 
            each rule in CSS.</p>
            
            <p>Default is no line break.</p>
            </summary>
        </member>
        <member name="T:Combres.CombresRouteHandler">
            <summary>
            Route handler factory for <see cref="T:Combres.CombresHandler"/>.
            </summary>
        </member>
        <member name="T:Combres.ResourceMode">
            <summary>
            Represents the mode of a specific JS or CSS resource.
            </summary>
        </member>
        <member name="F:Combres.ResourceMode.Dynamic">
            <summary>
            This resource is dynamically generated at request time.
            </summary>
        </member>
        <member name="F:Combres.ResourceMode.Static">
            <summary>
            This resource is static and thus can be loaded directly from file system.
            </summary>
        </member>
        <member name="M:Combres.Configuration.GetSettings">
            <summary>
            Creates an instance of <see cref="T:Combres.Settings"/> based on the XML definition file.
            </summary>
            <returns>An instance of <see cref="T:Combres.Settings"/> based on the XML definition file.</returns>
            <exception cref="T:System.Xml.Schema.XmlSchemaException">If there is any validation error in the 
            XML definition file.</exception>
        </member>
        <member name="M:Combres.ClosureCodeRequest.GetCode">
            <summary>
            Sends the request and returns the optimized code.
            </summary>
            <returns>The optimized code</returns>
        </member>
        <member name="M:Combres.ClosureCodeRequest.Request.Send">
            <summary>
            Sends the POST request and returns the response from the server.
            </summary>
            <returns>The response from the server.</returns>
        </member>
        <member name="M:Combres.CompressionExtensions.UnGzip(System.Byte[])">
            <summary>
            Returns the ungzipped byte array. Returns empty byte array if <paramref name="bytes"/> is null or empty.
            </summary>
            <param name="bytes">The byte array to be ungzipped.</param>
            <returns>The ungzipped byte array.  Empty byte array if <paramref name="bytes"/> is null or empty.</returns>
        </member>
        <member name="M:Combres.CompressionExtensions.UnDeflate(System.Byte[])">
            <summary>
            Returns the undeflated byte array. Returns empty byte array if <paramref name="bytes"/> is null or empty.
            </summary>
            <param name="bytes">The byte array to be undeflated.</param>
            <returns>The undeflated byte array.  Empty byte array if <paramref name="bytes"/> is null or empty.</returns>
        </member>
        <member name="T:Combres.Include">
            <summary>
            Server control which can be used in place of inline code to include
            Combres when inline code isn't allowed (e.g. CMS environment).
            </summary>
        </member>
        <member name="P:Combres.Include.SetName">
            <summary>
            The resource set name.
            </summary>
        </member>
        <member name="P:Combres.Include.HtmlAttributes">
            <summary>
            The HTML attributes to be appended within the generated tag.
            </summary>
        </member>
        <member name="T:Combres.ResourceSet">
            <summary>
            Represents a group of resource files.
            </summary>
        </member>
        <member name="M:Combres.ResourceSet.GetVersionString">
            <summary>
            Returns the hash if <code>Version</code> is 'auto'.  Otherwise returns the
            version itself.  
            </summary>
            <returns>Returns the hash if <code>Version</code> is 'auto'.  Otherwise returns the
            version itself.</returns>
        </member>
        <member name="M:Combres.ResourceSet.Equals(System.Object)">
            <summary>
            Returns true if both resource sets have the same <see cref="P:Combres.ResourceSet.Name"/>.
            </summary>
            <param name="obj">The object to be compared.</param>
            <returns>Returns true if both resource sets have the same <see cref="P:Combres.ResourceSet.Name"/>.  False otherwise.</returns>
        </member>
        <member name="M:Combres.ResourceSet.GetHashCode">
            <remark>
            Guarantee to return same hashcode for identical resource set across multiple runs.
            </remark>
        </member>
        <member name="P:Combres.ResourceSet.Name">
            <summary>
            The name of the resource group.  This is to be referred to when generating
            links or URLs to the group.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.Version">
            <summary>
            Version of this resource group.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.VersionGeneratorType">
            <summary>
            The algorithm used to generate auto-version.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.Hash">
            <summary>
            The content hash to be used if Version is 'auto'.
            
            This is only thing in this class that is publicly mutable
            (via RecomputeHash()).
            
            Accesses to this property is thread-safe (protected by <c>Configuration.ConfigLock</c>).
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.DurationInDays">
            <summary>
            Duration of this resource group.  Specify how long the generated result
            should be cached at both client and server.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.Type">
            <summary>
            The type of resource (JavaScript or CSS).
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.DebugEnabled">
            <summary>
            If true, items in this resource set won't be cached, compressed and minimized 
            to facilitate debugging.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.IgnorePipelineWhenDebug">
            <summary>
            <para>This has no effect if <see cref="P:Combres.ResourceSet.DebugEnabled"/> is <c>false</c> or <see cref="M:Combres.WebExtensions.CombresUrl(System.String)"/> is used.</para>
            <para>If this is set to <c>true</c>, Combres will generate script and link tags corresponding to each 
            resource in the set.  The URL for each of these script and link tags are generated 
            from <see cref="P:Combres.Resource.Path"/>.  The whole Combres pipeline (together with any filter) 
            is ignored completely.</para>
            <para>If this is set to <c>false</c> , the inherent debug workflow (including combining, filtering and compressing) of 
            Combres is executed</para>
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.CompressionEnabled">
            <summary>
            If 'true' compression is enabled.  If false compression is not enabled.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.Minifier">
            <summary>
            The default minifier which is to be used for this resource set.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.Filters">
            <summary>
            The filters which are to be used for this resource set.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.Settings">
            <summary>
            The application setting object.
            </summary>
        </member>
        <member name="P:Combres.ResourceSet.Resources">
            <summary>
            List of child resources.
            </summary>
        </member>
        <member name="T:Combres.VersionGenerators.HashCodeVersionGenerator">
            <summary>
            Use the inherent <c>GetHashCode()</c> on all contributing change factors (resources' contents/mode/cookie/minifier and 
            resource set's applied filters/debug-enabled) to generate version string.
            </summary>
            <remarks>Resulted version string has the form of an integer.  It doesn't
            guarantee no collision for 2 different resource sets.
            </remarks>
        </member>
        <member name="M:Combres.VersionGenerators.HashCodeVersionGenerator.Generate(Combres.ResourceSet)">
            <inheritdoc cref="M:Combres.IVersionGenerator.Generate(Combres.ResourceSet)"/>
        </member>
        <member name="T:Combres.IMinifiedContentFilter">
            <summary>
            Filter to transform the minified version of the combined content of either one of the followings.
            In default mode (<see cref="T:Combres.DefaultProcessingWorkflow"/>, all files in a minification group of a particular resource set.
            In debug mode (<see cref="T:Combres.DebugProcessingWorkflow"/>, all files in the resource set.
            </summary>
            <seealso cref="T:Combres.DefaultProcessingWorkflow"/>
            <seealso cref="T:Combres.DebugProcessingWorkflow"/>
        </member>
        <member name="M:Combres.IMinifiedContentFilter.TransformContent(Combres.ResourceSet,System.Collections.Generic.IEnumerable{Combres.Resource},System.String)">
            <summary>
            Transforms the minified content.
            </summary>
            <param name="resourceSet">The resource set being worked on.</param>
            <param name="resources">The resources whose minified combined content is to be transformed.</param>
            <param name="content">The minified content of <paramref name="resources"/>.</param>
            <returns>The transformed minified content.</returns>
        </member>
        <member name="T:Combres.Loggers.IgnoreLogger">
            <summary>
            Logger implementation which basically does no logging at all (lol).
            </summary>
        </member>
        <member name="T:Combres.Loggers.Log4NetLogger">
            <summary>
            Log4Net-based logger implementation.
            </summary>
        </member>
        <member name="M:Combres.Loggers.Log4NetLogger.InitializeLoggerType">
            <summary>
            Callback method that is invoked once for all instances for this logger type.
            </summary>
        </member>
        <member name="M:Combres.Loggers.Log4NetLogger.#ctor(System.String)">
            <summary>
            Callback constructor that is by <see cref="T:Combres.LoggerFactory"/>.
            </summary>
        </member>
        <member name="T:Combres.MinifierInfo">
            <summary>
            Contains the metadata for an <see cref="T:Combres.IResourceMinifier"/>.
            </summary>
        </member>
        <member name="M:Combres.MinifierInfo.Equals(System.Object)">
            <summary>
            Returns true if both minifiers share the same <see cref="P:Combres.MinifierInfo.Name"/>, <see cref="P:Combres.MinifierInfo.Type"/>, <see cref="P:Combres.MinifierInfo.BinderType"/>, and
            <see cref="P:Combres.MinifierInfo.Parameters"/>.
            </summary>
            <param name="obj">The minifier to be compared.</param>
            <returns>True if both minifiers share the same <see cref="P:Combres.MinifierInfo.Name"/>, <see cref="P:Combres.MinifierInfo.Type"/>, <see cref="P:Combres.MinifierInfo.BinderType"/>, and
            <see cref="P:Combres.MinifierInfo.Parameters"/>.</returns>
        </member>
        <member name="M:Combres.MinifierInfo.GetHashCode">
            <remark>
            Guarantee to return same hashcode for identical minifier across multiple runs.
            </remark>
        </member>
        <member name="P:Combres.MinifierInfo.Name">
            <summary>
            The name of this minifier
            </summary>
        </member>
        <member name="P:Combres.MinifierInfo.Type">
            <summary>
            The full-qualified type name of the minifier
            </summary>
        </member>
        <member name="P:Combres.MinifierInfo.BinderType">
            <summary>
            The full-qualified type name of the binder used for the minifier
            </summary>
        </member>
        <member name="P:Combres.MinifierInfo.Parameters">
            <summary>
            Configuration parameters to initialize the minifier
            </summary>
        </member>
        <member name="T:Combres.Resource">
            <summary>
            Represents a client-side resource, i.e. JavaScript or CSS file.
            </summary>
        </member>
        <member name="M:Combres.Resource.Equals(System.Object)">
            <summary>
            Returns true if both resources share the same value for <see cref="P:Combres.Resource.Path"/> (case insensitive), <see cref="P:Combres.Resource.Mode"/>, and
            <see cref="P:Combres.Resource.ForwardCookie"/>.
            </summary>
            <param name="obj">The resource to be compared.</param>
            <returns>Returns true if both resources share the same value for <see cref="P:Combres.Resource.Path"/> (case insensitive), <see cref="P:Combres.Resource.Mode"/>, and
            <see cref="P:Combres.Resource.ForwardCookie"/>.</returns>
        </member>
        <member name="M:Combres.Resource.GetHashCode">
            <remark>
            Guarantee to return same hashcode for identical resource across multiple runs.
            </remark>
        </member>
        <member name="P:Combres.Resource.Path">
            <summary>
            The path/URL to this resource. 
            </summary>
            <seealso cref="P:Combres.Resource.Mode"/>
        </member>
        <member name="P:Combres.Resource.Mode">
            <summary>
            The type of this resource.
            </summary>
            <seealso cref="T:Combres.ResourceMode"/>
        </member>
        <member name="P:Combres.Resource.ForwardCookie">
            <summary>
            Whether cookie should be fowarded or not.
            </summary>
        </member>
        <member name="P:Combres.Resource.ParentSet">
            <summary>
            The parent resource set.
            </summary>
        </member>
        <member name="P:Combres.Resource.Minifier">
            <summary>
            The minifier which is to be used for this resource.
            </summary>
        </member>
        <member name="T:Combres.Default">
            <summary>
            Class containing default values for various configuration settings.
            </summary>
        </member>
        <member name="T:Combres.Minifiers.ClosureJSMinifier">
            <summary>
            JavaScript minifier which delegates the minification process to the Google Closure Compiler (http://closure-compiler.appspot.com/).
            </summary>
        </member>
        <member name="M:Combres.Minifiers.ClosureJSMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)">
            <inheritdoc cref="M:Combres.IResourceMinifier.Minify(Combres.Settings,Combres.ResourceSet,System.String)"/>
        </member>
        <member name="P:Combres.Minifiers.ClosureJSMinifier.Binder">
            <inheritdoc cref="P:Combres.IParametersReceiver.Binder"/>
        </member>
        <member name="P:Combres.Minifiers.ClosureJSMinifier.Parameters">
            <inheritdoc cref="P:Combres.IParametersReceiver.Parameters"/>
        </member>
        <member name="P:Combres.Minifiers.ClosureJSMinifier.ApiUrl">
            <summary>
            The URL of the Closure REST API.
            </summary>
        </member>
        <member name="P:Combres.Minifiers.ClosureJSMinifier.CompilationLevel">
            <summary>
            Compilation level, either ADVANCED_OPTIMIZATIONS or SIMPLE_OPTIMIZATIONS.
            Check out this webpage for more information: http://code.google.com/closure/compiler/docs/api-tutorial3.html.
            Default is SIMPLE_OPTIMIZATIONS
            </summary>
        </member>
        <member name="T:Combres.ConfigSectionSetting">
            <summary>
            Represents the configuration section for the library.  
            </summary>
            <example>
            Register this config section in web.config with the following XML blocks:
            Inside <c>configSections</c> element:
            <code>
            <section name="combres" type="Combres.ConfigSectionSetting, Combres" />
            </code>
            Inside <c>configuration</c> element:
            <code>
            <combres definitionUrl="~/App_Data/data.xml" />
            </code>
            </example>
        </member>
        <member name="M:Combres.ConfigSectionSetting.Create">
            <summary>
            Creates an instance of <c>ConfigSectionSetting</c>.
            </summary>
        </member>
        <member name="P:Combres.ConfigSectionSetting.DefinitionUrl">
            <summary>
            The location to the XML definition file.  Must be a relative ASP.NET path.
            </summary>
        </member>
        <member name="P:Combres.ConfigSectionSetting.LogProvider">
            <summary>
            The location to the XML definition file.  Must be a relative ASP.NET path.
            </summary>
        </member>
        <member name="T:Combres.ICompressedContentFilter">
            <summary>
            Filter to transform the compressed version of all files in a specific resource set.
            </summary>
            <seealso cref="T:Combres.DefaultProcessingWorkflow"/>
            <seealso cref="T:Combres.DebugProcessingWorkflow"/>
        </member>
        <member name="M:Combres.ICompressedContentFilter.TransformContent(Combres.ResourceSet,System.Byte[])">
            <summary>
            Transforms the compressed version of all files in a specific resource set.
            </summary>
            <param name="resourceSet">The resource set whose compressed combined content is being transformed.</param>
            <param name="content">The compressed combined content of all files in the resource set.</param>
            <returns>The transformed compressed combined content of all files in the resource set.</returns>
        </member>
        <member name="T:Combres.DebugProcessingWorkflow">
            <summary>
            <para>Workflow which is executed if debugging mode is enabled.  Unlike the 
            <see cref="T:Combres.DebugProcessingWorkflow"/>, this workflow is optimized for debugging purpose.  
            Specifically, client-side and server-side caching and minification won't be employed at all.  
            The steps include:</para>
            <list type="bullet">
            <item>Read content of every resource in the set, invoking <see cref="T:Combres.ISingleContentFilter"/> for each read.</item>
            <item>Combine the contents of all resources into one, invoking <see cref="T:Combres.ICombinedContentFilter"/>.</item>
            <item>Compres the combined content, invoking <see cref="T:Combres.ICompressedContentFilter"/>.</item>
            </list> 
            </summary>
        </member>
        <member name="M:Combres.ChangeMonitor.Watch(Combres.Settings)">
            <summary>
            Invoked whenever there's a new settings object.
            </summary>
        </member>
        <member name="T:Combres.ResourceNotFoundException">
            <summary>
            Represents an error occuring when a resource is requested while not existing
            in the XML definition file.
            </summary>
        </member>
        <member name="T:Combres.VersionGenerators.Sha512VersionGenerator">
            <summary>
            Applies SHA512 algorithm on all contributing change factors (resources' contents/mode/cookie/minifier and 
            resource set's applied filters/debug-enabled) to generate version string.
            </summary>
            <remarks>
            <p>SHA512 generates 64-bit hash thus minimizes collision.  However, it doesn't
            guarantee no collision for 2 different resource sets.</p>
            </remarks>
        </member>
        <member name="M:Combres.VersionGenerators.Sha512VersionGenerator.Generate(Combres.ResourceSet)">
            <inheritdoc cref="M:Combres.IVersionGenerator.Generate(Combres.ResourceSet)"/>
        </member>
    </members>
</doc>
